function [ fout ] = conv_full( fin, k )

if (size(fin, 1) ~= 1)
    error('bad fin size');
end

if (size(k, 1) ~= 1)
    error('bad k size');
end

s1 = size(fin, 2);
s2 = size(k, 2);

fout = zeros(1,s1+s2-1);

for m=1:size(fout, 2)
    fin1 = max(m-s2+1, 1);
    fin2 = min(m, s1);
    k1 = max(m-s1+1, 1);
    k2 = min(m, s2);
    fout(m) = sum(fin(fin1:fin2) .* k(k2:-1:k1));
end

end

